iT邦幫忙

2022 iThome 鐵人賽

DAY 13
0
AI & Data

Power BI Desktop 零基礎學習筆記系列 第 13

[Day13] 使用Power BI Desktop修正資料行屬性&新增年齡層

  • 分享至 

  • xImage
  •  

大家早安,今天是9/28,是一年一度的教師節,先祝全天下的老師們教師節快樂!那麼我們事不宜遲就直接開始今天的內容了吧!!

檢查並修正資料行屬性

我相信大家都知道欄位的屬性是相當重要的,而在Power BI Desktop裡面也一樣,而最主要的資料型態不外乎就是文字及數字兩種,設定為數字型態的欄位就是代表會須要對這個欄位進行運算,如加總或平均等,但若沒有要進行這些運算的話,要一率設為文字型態,舉個簡單的例子:年齡,在進行分析時通常是要對年齡進行分組,而不是對某份文件進行年齡的加總或平均,而這時就必須將年齡設為文字型態。

因此今天的內容就是,要來檢查之前的那個練習檔內六個資料表的資料型態有無錯誤,GOGO!

首先是分店資料的這張資料表,通常在檢查時一定是檢查有數字的欄位,因為文字欄位Power BI Desktop在匯入時就會自動判定為文字屬性了,因此不需檢查。所以在這張資料表中,唯一要檢查的就是「分店編號」這個欄位。
img
首先我們可以自行判斷分店編號是不需進行加總的,因此應該要設為文字型態。接著可以看到圖片上方的「資料類型」為整數,因此我們可以將這個改為「文字」型態,不用擔心會影響到關聯的結果,但其實目前這個案例可以不去做任何更改,因為在「屬性」內的「摘要」可以看到目前設定為「不摘要」,我們可以簡單理解為系統不會根據這個欄位進行任何的加總及平均等等的運算,換而言之就算類型為整數型態,也完全不用擔心!
img
接著來到我們前天建立的行事曆
img
可以看到這邊的欄位皆為文字型態,因為可以從上圖的紅框處看到並沒有任何符號,代表很有可能皆為文字型態,就算非文字型態,也都是設定為「不摘要」,因此這個表不用做更動。

再來客戶資料的表格
img
可以看到紫框內這個表格有三個小圖案,其中「出生日期」跟「會員起始日」是因為設定為日期格式,因此屬於正常情況,但「年齡」欄位就不正常了,因為目前在前面看到一個Σ符號,意思就是目前在「摘要」設定為「加總」,但年齡是不需要進行加總的,因此在這邊可以向上圖一樣將這邊設定為「不摘要」,另外當然也可以在「資料類型」處設定為「文字」型態喔!

接下來因為我們已經知道可以從右側的小圖案來判斷類型是否正確,因此可以直接把剩下三張表一次看完,如下圖所示
img
可以看到雖然有很多Σ符號,但是那個是單位成本或銷售數量,因此是合理的,但是!識別碼是錯誤的,就像是我們不可能去加總每個人的身分證字號,因此這邊我將此欄位改為文字型態,這樣就做完檢查資料類型的動作囉!

新增年齡層

既然剛剛一開始的例子講到了年齡的觀念,其實通常在分析年齡時會分成很多層級,例如20~30一層、31~40一層這樣子,因此在設計視覺效果前,我們可以先設計顯示每筆資料所屬的年齡層。

作法也相當簡單,利用公式即可輕鬆做到,那麼新增年齡層的公式如下:

年齡層 = SWITCH(TRUE(),
[年齡]>=20 && [年齡]<=29,"20-29歲",
[年齡]>=30 && [年齡]<=39,"30-39歲",
[年齡]>=40 && [年齡]<=49,"40-49歲",
[年齡]>=50 && [年齡]<=59,"50-59歲",
[年齡]>=60 && [年齡]<=69,"60-69歲",
[年齡]>=70 && [年齡]<=79,"70-79歲",
"80歲以上")

等於左側的就是欄位名稱,右側就是判斷條件,其中用中括號包住的為欄位名稱,因此在實作時要確定自己的年齡欄位是不是就叫年齡,如果是較age那要記得改為age。另外數值都可以根據自己的資料集還有需求來進行調整喔!
那麼這個公式該貼在哪裡呢?首先先在所要新增的資料表中點選上方的「新增資料行」
img
接著在上方的公式列輸入公式然後按下勾勾即可
img
正常來說應該這樣就能完成,但我在實作時跳出這個問題
img
這個錯誤是因為我年齡設定的是「文字」型態,自然無法跟數字來進行大小的比較,因此我將年齡這欄型態改為「整數」(維持不摘要)
img
只要一改回後,可以看到剛剛新增的年齡層就會自動正常了喔~不知道大家學會了嗎~~


上一篇
[Day12] 建立Power BI Desktop行事曆關聯
下一篇
[Day14] Power BI Desktop - 量值(上)
系列文
Power BI Desktop 零基礎學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言